package com.sinodata.bsm.common.vo;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * Probe entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "PROBE")
public class Probe implements java.io.Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = -3613446035825476636L;
    // Fields    

    private Long id = 0L;
    private String name = "";
    private String ip = "";
    private String desc = "";
    private Integer status = 0;
    private String type = "";
    private Date createDate;
    private Date startDate;
    private Date activeDate;
    private Integer taskCount = 0;

    // Constructors

    /** default constructor */
    public Probe() {
    }

    /** minimal constructor */
    public Probe(Long id) {
        this.id = id;
    }

    /** full constructor */
    public Probe(Long id, String name, String ip, String desc, Integer status, String type, Date createDate, Date startDate, Date activeDate, Integer taskCount) {
        this.id = id;
        this.name = name;
        this.ip = ip;
        this.desc = desc;
        this.status = status;
        this.type = type;
        this.createDate = createDate;
        this.startDate = startDate;
        this.activeDate = activeDate;
        this.taskCount = taskCount;
    }

    // Property accessors
    @Id
    @Column(name = "ID", unique = true, nullable = false, precision = 18, scale = 0)
    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Column(name = "NAME", length = 256)
    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Column(name = "IP", length = 32)
    public String getIp() {
        return this.ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    @Column(name = "DESC_", length = 512)
    public String getDesc() {
        return this.desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    @Column(name = "STATUS", precision = 1, scale = 0)
    public Integer getStatus() {
        return this.status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    @Column(name = "TYPE", length = 32)
    public String getType() {
        return this.type;
    }

    public void setType(String type) {
        this.type = type;
    }

    @Column(name = "CREATE_DATE", length = 7)
    public Date getCreateDate() {
        return this.createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    @Column(name = "START_DATE", length = 7)
    public Date getStartDate() {
        return this.startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    @Column(name = "ACTIVE_DATE", length = 7)
    public Date getActiveDate() {
        return activeDate;
    }

    public void setActiveDate(Date activeDate) {
        this.activeDate = activeDate;
    }

    @Column(name = "TASK_COUNT", precision = 9, scale = 0)
    public Integer getTaskCount() {
        return taskCount;
    }

    public void setTaskCount(Integer taskCount) {
        this.taskCount = taskCount;
    }

    @Override
    public String toString() {
        return "Probe [id=" + id + ", name=" + name + ", ip=" + ip + ", desc=" + desc + ", status=" + status + ", type=" + type + ", createDate=" + createDate + ", startDate=" + startDate + ", activeDate=" + activeDate + ", taskCount=" + taskCount + "]";
    }

}